Many computing systems require a fast response after the application of power (e.g., during start-up). A fast start-up response is especially critical for guidance systems, such as those integrated within aerial, space-based, nautical, or vehicle-based platforms. In these systems, loss of processing power, even for a brief moment, can result in inaccurate navigation, inaccurate target tracking, and dropped communication channels, among various other undesirable effects.
Most computing systems boot from non-volatile memory (e.g., read-only memory (ROM)) and transfer a system image from ROM to volatile memory (e.g., random access memory (RAM)). Once the transfer is complete, the image is executed from the RAM. Other computing systems use a ROM resident configuration that maintains software instructions and constant data in or on ROM, and utilize the RAM for variable data storage and stacks. During most start-up procedures, initialization processes typically include central processor unit (CPU) and memory controller register initialization, memory zeroing for non-initialized data, and set-up processes for memory transfer.
Some typical approaches for providing a fast start-up response time include processes for entering/exiting a sleep mode and/or processes for entering/exiting a hibernation mode. Other approaches rely on the use of memory that does not require power to operate, such as Magnetoresistive Random Access Memory (MRAM). Particular examples of these approaches may be found in most consumer computing products, such as desktop and laptop computers. Other computing systems support high availability by utilizing a redundant processing architecture.